1. Technical Field
The present invention relates in general to a system and method for instruction thread distribution. In particular, the present invention relates to a system and method for directing instruction thread distribution according to the measured IR (voltage) drop data of the circuitry to execute the instructions.
2. Description of the Related Art
Many modern data processing systems include multiple central processing unit cores in the system. These data processing systems will execute instructions of a single program across these multiple central processing unit cores. The single program includes many instructions to be executed in the central processing units. One technique to employ the multiple central processing unit cores in the execution of these instructions is to divide the instructions into groups of instructions or threads. Then each thread is directed to a central processing unit for execution. Several prior art patents address the use of instruction threads in a processor and the control of execution of these instruction threads. These patents include U.S. Pat. No. 7,093,109 entitled “Network Processor which makes Thread Execution Control Decisions Based on Latency Event Lengths”; U.S. Pat. No. 6,076,157 entitled “Method and Apparatus to Force a Thread Switch in a Multithreaded Processor”; U.S. Pat. No. 6,212,544 entitled “Altering Thread Priorities in a Multithreaded Processor”; and U.S. Pat. No. 6,625,637 entitled “Deterministic and Preemptive Thread Scheduling and Its Use in the Debugging Multithreaded Applications.”
In a multiple central processing unit data processing system, it is helpful to know the physical conditions of the central processing unit cores that will be receiving the instruction threads. To obtain the maximum performance within the data processing system, distribution of the instruction threads for execution should be made to the central processing units that are able to execute these instruction threads efficiently. One physical condition of the central processing unit cores is measured IR drop within the core circuitry. IR drop is defined as average current times the resistance of the power distribution network in a chip. It is a voltage drop across the power distribution network. Therefore, IR drop varies directly as average current or resistance of the power distribution network varies. The average current is a function of the switching activity, frequency and the applied power supply voltage. The power distribution network resistance varies directly with temperature. The higher the measured core IR drop, the less efficient the central processing unit will be.